Степан успешно
прошёл собеседование и уже четыре месяца работает в одной из самых престижных
IT-компаний. Настало время сдавать проект менеджеру, и Степан, как настоящий
студент, делает всё в последнюю ночь перед дедлайном. Он печатает текст
необычайно быстро, но невнимательно. В этот раз, набирая последнюю часть
текста, он случайно нажал клавишу Caps Lock и не заметил этого. В
результате заглавные буквы стали строчными, а строчные – заглавными. Остальные
символы были введены правильно.
Степан так
устал, что у него совсем нет сил исправить ошибки, и он решил немного поспать.
Помогите
Степану: напишите программу, которая исправит невнимательно набранный текст,
пока он отдыхает.
Вход. Одна строка,
содержащая текст, невнимательно набранный Степаном. Длина строки не превышает
500 символов.
Выход. Выведите
исправленный текст.
Пример
входа |
Пример
выхода |
sCHOOL |
School |
обработка
текста
Читаем входной
текст посимвольно.
·
Если символ ch
является буквой нижнего регистра, преобразуем его в верхний по формуле ch + ‘A’ – ‘a’.
·
Если символ ch
является буквой верхнего регистра, то преобразуем его в нижний по формуле ch + ‘a’ – ‘A’.
Обрабатываем входной текст
символ за символом: строчные буквы преобразуем в заглавные, а заглавные – в строчные.
while(scanf("%c",&ch)
== 1)
{
if(ch >= 'a' && ch <= 'z')
ch = ch
+ 'A' - 'a';
else if(ch >= 'A'
&& ch <= 'Z')
ch = ch + 'a'
- 'A';
printf ("%c",ch);
}
Java реализация – char
array
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
char s[] = con.nextLine().toCharArray();
for(int i = 0; i < s.length; i++)
{
if (Character.isUpperCase(s[i]))
System.out.print(Character.toLowerCase(s[i]));
else if(Character.isLowerCase(s[i]))
System.out.print(Character.toUpperCase(s[i]));
else
System.out.print(s[i]);
}
con.close();
}
}
Java реализация – String
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
String in = con.nextLine();
String out = "";
for(int i = 0; i < in.length(); i++)
{
if (Character.isUpperCase(in.charAt(i)))
out = out + Character.toLowerCase(in.charAt(i));
else if(Character.isLowerCase(in.charAt(i)))
out = out + Character.toUpperCase(in.charAt(i));
else
out = out + in.charAt(i);
}
System.out.println(out);
con.close();
}
}
Python реализация
Читаем входную строку. Преобразуем ее в
список символов.
lst = list(input())
Cтрочные буквы в списке lst делаем заглавными, а заглавные – строчными.
for i in range(len(lst)):
if lst[i].isupper():
lst[i] = lst[i].lower()
else:
lst[i] = lst[i].upper()
Преобразуем список символов lst в строку s.
s = "".join(lst)
Выводим ответ.
print(s)
Python реализация – list
comprehension
Читаем входную строку.
s = input()
Строим список, в котором строчные буквы становятся заглавными, а заглавные – строчными.
res = "".join([ch.lower() if ch.isupper() else ch.upper() for ch in
s])
Выводим ответ.
print(res)
Python реализация – swapcase
Читаем входную строку.
s = input()
Меняем регистр всех букв в
строке: строчные буквы становятся заглавными, а заглавные – строчными.
res = s.swapcase()
Выводим ответ.
print(res)